1). Field of the Invention
Embodiments of this invention relate to a method and apparatus for programming a memory array.
2). Discussion of Related Art
One-time programmable (“OTP”) cells are used in integrated circuit (“IC”) devices for a variety of applications including OTP memory applications. They may be used as a single memory cell or in arrays of memory cells to provide unique die/chip IDs and to set operating parameters such as clock multipliers and voltage levels for devices such as microprocessors. They may also be used to configure, customize, and repair a chip after testing (e.g., to repair a processor chip's cache memory array). OTP cells are typically implemented using charge storage, fuse, or anti-fuse approaches. Charge storage approaches have typically involved defining a bit value based on charge stored on an insulated metal oxide semiconductor (“MOS”) type gate structure. Such charge storage approaches, however, are not practicable with current and future deep sub-micron technologies that feature very thin gate oxide because of the high gate leakage current that prevents a long retention time of the information.
On the other hand, fuse and anti-fuse solutions are more reliable with such technologies. A fuse (or anti-fuse) link can be used to indicate a logic level (e.g., a High or Low level), depending on whether or not it is “blown” or left in its normal state. The natural state of a fuse is closed, but when it is blown (or burned), its resistance is increased to an open state (relative to its normal closed state). In contrast, an anti-fuse is blown closed, with its natural state being an open circuit (relative to its normal, open state). A fuse or anti-fuse can thus be used to establish a logic level whose value depends upon whether it is blown or left in its normal state.
As silicon manufacturing technologies scale, the thickness of the oxide layer isolating the gate of MOS transistors becomes thinner. As a result, it has become feasible to break down this oxide by applying a sufficiently high voltage (e.g., 3 V or higher) across the oxide layer. Accordingly, oxide layers are now being used to implement anti-fuse elements. They are naturally open, but when broken down, become closed. (For examples of oxide layers used as anti-fuse elements, see U.S. Pat. No. 6,686,791 to Zheng, et al., and U.S. Pat. No. 6,515,344 to Wollesen.)
A current flows through an element, or bit, that is being programmed. Should multiple elements be programmed at the same moment in time, the total amount of current that would flow would equal the current flowing through one of the elements multiplied by the number of elements that are being programmed. The voltage source has to be manufactured sufficiently large in order to handle a large current when multiple elements are programmed at the same time.